package com.ruoyi.system.enums;

/**
 * 项目状态枚举
 */
public enum ProjectStatusEnum {

    /**
     * 进行中
     */
    IN_PROGRESS(1, "进行中"),

    /**
     * 暂停
     */
    PAUSED(2, "暂停"),

    /**
     * 已完成
     */
    COMPLETED(3, "已完成"),

    /**
     * 已结单
     */
    CLOSED(4, "已结单");

    private final Integer code;
    private final String desc;

    ProjectStatusEnum(Integer code, String desc) {
        this.code = code;
        this.desc = desc;
    }

    public Integer getCode() {
        return code;
    }

    public String getDesc() {
        return desc;
    }

    /**
     * 根据代码获取枚举
     */
    public static ProjectStatusEnum getByCode(Integer code) {
        if (code == null) {
            return null;
        }
        for (ProjectStatusEnum status : values()) {
            if (status.getCode().equals(code)) {
                return status;
            }
        }
        return null;
    }

    /**
     * 根据描述获取枚举
     */
    public static ProjectStatusEnum getByDesc(String desc) {
        if (desc == null) {
            return null;
        }
        for (ProjectStatusEnum status : values()) {
            if (status.getDesc().equals(desc)) {
                return status;
            }
        }
        return null;
    }
}
